<template>
	<div class="my-goods-list">
		<MyTable :arr="list">
			<template #head>
				<tr>
				<th>#</th>
				<th>商品名称</th>
				<th>价格</th>
				<th>标签</th>
				<th>操作</th>
			</tr>
			</template>

			<template #body="scoped">
				<td>{{scoped.obj.id}}</td>
				<td>{{scoped.obj.goods_name}}</td>
				<td>{{scoped.obj.goods_price}}</td>
				<td>
					<div>
						<input style="width: 150px" 
						class="tag-input form-control" type="text"
						v-if="scoped.obj.inputVisible" 
						v-focus
						v-model="scoped.obj.inputValue"
						@keyup="addFn(scoped.obj.inputValue)"
						@keyup.esc="scoped.obj.inputValue = ''"
						@blur="scoped.obj.inputVisible = false"/>

						<button v-else
						@click="scoped.obj.inputVisible = true"
						 class="btn btn-primary btn-sm add-tag">
							+Tag
						</button>
					</div>
					<span class="badge bg-warning text-dark" v-for="(item,index) in scoped.obj.tags" :key="index">
						{{item}}
					</span>
				</td>
				<td><button class="btn btn-danger btn-sm" @click="delFn(scoped.obj.id)">删除</button></td>
			</template>
		</MyTable>
	</div>
</template>

<script>
	// 接口：GTE  https://www.escook.cn/api/goods
	import 'axios'
	import MyTable from '../components/MyTable.vue'
import axios from 'axios';
	export default {
		data() {
			return {
				list:[]
			};
		},
		components:{
			MyTable,
		},
		methods:{
			delFn(id){
				return this.list = this.list.filter(item => item.id !== id)
			},
			addFn(obj){
				if(obj.inputValue === ''){
					return
				}
				obj.tags.push(obj.inputValue)
				obj.inputValue = ''
			}
		},
		async created(){
			const {data:res} = await axios.get('https://www.escook.cn/api/goods')
			console.log(res)
			this.list = res.data
		},
		directives:{
			focus:{
				inserted(el){
					el.focus()
				}
			}
		}
	};
</script>

<style>
</style>
